﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BPMS.IBusiness
{
    /// <summary>
    /// 本地服务的具体实现接口
    /// <author>
    ///		<name>shecixiong</name>
    ///		<date>2013.12.04</date>
    /// </author>
    /// </summary>
    public interface IBaseFactory
    {
        /// <summary>
        /// 创建文件
        /// </summary>
        /// <returns></returns>
        BASE_FileIBLL CreateFile();
        /// <summary>
        /// 创建动态接口配置
        /// </summary>
        /// <returns></returns>
        BASE_InterfaceManageIBLL CreateInterfaceManage();
        /// <summary>
        /// 创建新闻
        /// </summary>
        /// <returns></returns>
        BASE_NewsIBLL CreateNews();
        /// <summary>
        /// 创建附加属性
        /// </summary>
        /// <returns></returns>
        BPMS_AppendPropertyIBLL CreateAppendProperty();
        /// <summary>
        /// 创建操作按钮
        /// </summary>
        /// <returns></returns>
        BPMS_ButtonIBLL CreateButton();
        /// <summary>
        /// 创建操作数据库
        /// </summary>
        /// <returns></returns>
        BPMS_DataBaseIBLL CreateDataBase();
        /// <summary>
        /// 创建数据权限存储
        /// </summary>
        /// <returns></returns>
        BPMS_DataPermissionIBLL CreateDataPermission();
        /// <summary>
        /// 创建职员
        /// </summary>
        /// <returns></returns>
        BPMS_PersonIBLL CreateEmployee();
        /// <summary>
        /// 创建系统接口访问
        /// </summary>
        /// <returns></returns>
        BPMS_InterfaceAccessIBLL CreateInterfaceAccess();
        /// <summary>
        /// 创建IP黑名单
        /// </summary>
        /// <returns></returns>
        BPMS_IPBlacklistIBLL CreateIPBlacklist();
        /// <summary>
        /// 创建数据字典明细
        /// </summary>
        /// <returns></returns>
        BPMS_ItemDetailsIBLL CreateItemDetails();
        /// <summary>
        /// 创建数据字典主表
        /// </summary>
        /// <returns></returns>
        BPMS_ItemsIBLL CreateItems();
        /// <summary>
        /// 创建组织机构、部门、工作组
        /// </summary>
        /// <returns></returns>
        BPMS_OrganizationIBLL CreateOrganization();
        /// <summary>
        /// 创建用户模块权限模块，角色模块权限，用户按钮权限，角色按钮权限，用户数据权限，角色数据权限
        /// </summary>
        /// <returns></returns>
        BPMS_PermissionIBLL CreatePermission();
        /// <summary>
        /// 创建系统角色菜单关系
        /// </summary>
        /// <returns></returns>
        BPMS_RoleMenuIBLL CreateRoleMenu();
        /// <summary>
        /// 创建系统角色菜单按钮关系
        /// </summary>
        /// <returns></returns>
        BPMS_RoleMenuButtonIBLL CreateRoleMenuButton();
        /// <summary>
        /// 创建系统角色
        /// </summary>
        /// <returns></returns>
        BPMS_RolesIBLL CreateRoles();
        /// <summary>
        /// 创建首页快捷功能
        /// </summary>
        /// <returns></returns>
        BPMS_ShortcutIBLL CreateShortcut();
        /// <summary>
        /// 创建系统日志
        /// </summary>
        /// <returns></returns>
        BPMS_SysLogIBLL CreateSysLog();
        /// <summary>
        /// 创建模块（菜单导航）
        /// </summary>
        /// <returns></returns>
        BPMS_SysMenuIBLL CreateSysMenu();
        /// <summary>
        /// 创建菜单导航操作按钮关系表
        /// </summary>
        /// <returns></returns>
        BPMS_SysMenuButtonIBLL CreateSysMenuButton();
        /// <summary>
        /// 创建模块列表表头定义
        /// </summary>
        /// <returns></returns>
        BPMS_TableColumnsIBLL CreateTableColumns();
        /// <summary>
        /// 创建用户、帐户
        /// </summary>
        /// <returns></returns>
        BPMS_UserIBLL CreateUser();
        /// <summary>
        /// 创建用户菜单关系
        /// </summary>
        /// <returns></returns>
        BPMS_UserMenuIBLL CreateUserMenu();
        /// <summary>
        /// 创建用户菜单按钮关系
        /// </summary>
        /// <returns></returns>
        BPMS_UserMenuButtonIBLL CreateUserMenuButton();
        /// <summary>
        /// 创建用户帐户角色关系
        /// </summary>
        /// <returns></returns>
        BPMS_UserRoleIBLL CreateUserRole();
    }
}
